package com.wing.bill.dao;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.List;

@Mapper
public interface TempOutAndInReportDao {

    List<HashMap> list(@Param("param")String param,@Param("operationType")Integer operationType,@Param("enterpriseCode")String enterpriseCode);

    HashMap queryOutOrInNum(@Param("operationType")Integer operationType,@Param("start")LocalDateTime start, @Param("end")LocalDateTime end, @Param("mainCabCode")String mainCabCode, @Param("enterpriseCode")String enterpriseCode);
    List<HashMap> queryOutOrInNumClick(@Param("operationType")Integer operationType,@Param("start")LocalDateTime start, @Param("end")LocalDateTime end, @Param("mainCabCode")String mainCabCode, @Param("enterpriseCode")String enterpriseCode);

    HashMap queryOutOrInCreatorNum(@Param("operationType")Integer operationType,@Param("start")LocalDateTime start, @Param("end")LocalDateTime end, @Param("mainCabCode")String mainCabCode, @Param("enterpriseCode")String enterpriseCode);
    List<HashMap> queryOutOrInCreatorNumClick(@Param("operationType")Integer operationType,@Param("start")LocalDateTime start, @Param("end")LocalDateTime end, @Param("mainCabCode")String mainCabCode, @Param("enterpriseCode")String enterpriseCode);

    HashMap queryOutOrInDeviceNum(@Param("operationType")Integer operationType,@Param("start")LocalDateTime start, @Param("end")LocalDateTime end, @Param("mainCabCode")String mainCabCode, @Param("enterpriseCode")String enterpriseCode);
    List<HashMap> queryOutOrInDeviceNumClick(@Param("operationType")Integer operationType,@Param("start")LocalDateTime start, @Param("end")LocalDateTime end, @Param("mainCabCode")String mainCabCode, @Param("enterpriseCode")String enterpriseCode);

    List<HashMap> queryStatisticsByParam(@Param("operationType")Integer operationType, @Param("selectParam")String selectParam, @Param("param")String param,@Param("start")LocalDateTime start, @Param("end")LocalDateTime end, @Param("mainCabCode")String mainCabCode, @Param("enterpriseCode")String enterpriseCode);

    Integer getTotal(@Param("operationType")Integer operationType,@Param("start") LocalDateTime start, @Param("end") LocalDateTime end, @Param("param")String param, @Param("mainCabCode")String mainCabCode, @Param("enterpriseCode")String enterpriseCode);

}
